%%% @doc
%%% обновление окна по таймеру
%%% @end
-module(info_updater).
-export([init/1, stop/0, update/1]).
init(WindowPid) ->
  setTimer(WindowPid).

-define(DEFAULT_TIMESPAN, 500).%частота обновления в мс

setTimer(WindowPid) ->
  %%{ok, Ref} =
  timer:apply_after(?DEFAULT_TIMESPAN, ?MODULE, update, [WindowPid])
.

update(WindowPid) ->
  Result = state_storage:getCurrentStates(),
  case is_process_alive(WindowPid) of
    true ->
      WindowPid ! {updateGrid, Result},
      %io:format("updateGrid sent~n"),
      setTimer(WindowPid);
    false ->
      io:format("infoUpdater finished~n")
  end.

stop() ->
  ok
.